/*
 *  ckr_spec_StringUtils.h.h
 *  ckrSpec
 *
 *  Created by C. Keith Ray on 2006.11.21.
 *  Copyright 2006 __MyCompanyName__. All rights reserved.
 *
 */

#pragma once

#include <string>
#include <vector>

namespace  ckr
{

std::string padWithSpaces( const std::string& strIn, int width );
std::string padWithChar( const std::string& strIn, int width, char c );
std::string failString( bool failed );
std::string runString( bool hasRun );
std::string durationString( double dur );
std::string toUpper( const std::string& strIn );

typedef std::vector<std::string> StringList;

class CmdTokenizer
{
public:
	explicit CmdTokenizer( const std::string& strIn );

	virtual ~CmdTokenizer();
	
	virtual StringList tokenizeCmdString();

	virtual std::string nextToken();
	virtual std::string nextWord();
	virtual std::string nextPunct();
	virtual void skipSpaces();

private:
	int			currentIndex;
	bool			done;
	std::string myString;
};

}; // end namespace

